package nl.jteam.jsa.core;

import java.util.Iterator;
import java.util.List;

/**
 * @author Uri Boness
 */
public interface ListPage<T> extends Iterable<T> {

    Iterator<T> iterator();

    List<T> getElements();

    int getSize();

    int getIndex();

    int getCapacity();

    int getListSize();

    boolean isFirst();

    boolean isLast();

    boolean isSingle();

    int getLastPageIndex();

    int getFirstItemIndex();

    int getLastItemIndex();

    boolean isEmpty();
}
